home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 1 / Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso / FILES / APP / S-Z / TimeBook2.0.sit / TimeClock 2.0 / background_2810.xml next >
Extensible Markup Language  |  1993-03-22  |  54KB  |  866 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE background PUBLIC "-//Apple, Inc.//DTD background V 2.0//EN" "" >
  3. <background>
  4.     <id>2810</id>
  5.     <filler1>0</filler1>
  6.     <bitmap>BMAP_2188.pbm</bitmap>
  7.     <cantDelete> <true /> </cantDelete>
  8.     <showPict> <true /> </showPict>
  9.     <dontSearch> <false /> </dontSearch>
  10.     <link rel="stylesheet" type="text/css" href="stylesheet_3229.css" />
  11.     <part>
  12.         <id>46</id>
  13.         <type>button</type>
  14.         <visible> <true /> </visible>
  15.         <reserved5> 0 </reserved5>
  16.         <reserved4> 0 </reserved4>
  17.         <reserved3> 0 </reserved3>
  18.         <reserved2> 0 </reserved2>
  19.         <reserved1> 0 </reserved1>
  20.         <enabled> <true /> </enabled>
  21.         <rect>
  22.             <left>4</left>
  23.             <top>54</top>
  24.             <right>36</right>
  25.             <bottom>67</bottom>
  26.         </rect>
  27.         <style>transparent</style>
  28.         <showName> <false /> </showName>
  29.         <highlight> <false /> </highlight>
  30.         <autoHighlight> <false /> </autoHighlight>
  31.         <sharedHighlight> <true /> </sharedHighlight>
  32.         <family>0</family>
  33.         <titleWidth>0</titleWidth>
  34.         <icon>0</icon>
  35.         <textAlign>center</textAlign>
  36.         <font>Chicago</font>
  37.         <textSize>12</textSize>
  38.         <textStyle>plain</textStyle>
  39.         <name>Comnt</name>
  40.         <script></script>
  41.     </part>
  42.     <part>
  43.         <id>12</id>
  44.         <type>field</type>
  45.         <visible> <true /> </visible>
  46.         <dontWrap> <true /> </dontWrap>
  47.         <dontSearch> <false /> </dontSearch>
  48.         <sharedText> <false /> </sharedText>
  49.         <fixedLineHeight> <true /> </fixedLineHeight>
  50.         <autoTab> <false /> </autoTab>
  51.         <lockText> <false /> </lockText>
  52.         <rect>
  53.             <left>38</left>
  54.             <top>3</top>
  55.             <right>175</right>
  56.             <bottom>68</bottom>
  57.         </rect>
  58.         <style>transparent</style>
  59.         <autoSelect> <false /> </autoSelect>
  60.         <showLines> <true /> </showLines>
  61.         <wideMargins> <false /> </wideMargins>
  62.         <multipleLines> <false /> </multipleLines>
  63.         <reservedFamily> 0 </reservedFamily>
  64.         <titleWidth>0</titleWidth>
  65.         <icon>0</icon>
  66.         <textAlign>left</textAlign>
  67.         <font>Geneva</font>
  68.         <textSize>9</textSize>
  69.         <textStyle>plain</textStyle>
  70.         <textHeight>16</textHeight>
  71.         <name>JobInfo</name>
  72.         <script></script>
  73.     </part>
  74.     <part>
  75.         <id>13</id>
  76.         <type>button</type>
  77.         <visible> <true /> </visible>
  78.         <reserved5> 0 </reserved5>
  79.         <reserved4> 0 </reserved4>
  80.         <reserved3> 0 </reserved3>
  81.         <reserved2> 0 </reserved2>
  82.         <reserved1> 0 </reserved1>
  83.         <enabled> <true /> </enabled>
  84.         <rect>
  85.             <left>4</left>
  86.             <top>6</top>
  87.             <right>36</right>
  88.             <bottom>19</bottom>
  89.         </rect>
  90.         <style>transparent</style>
  91.         <showName> <false /> </showName>
  92.         <highlight> <false /> </highlight>
  93.         <autoHighlight> <false /> </autoHighlight>
  94.         <sharedHighlight> <true /> </sharedHighlight>
  95.         <family>0</family>
  96.         <titleWidth>0</titleWidth>
  97.         <icon>0</icon>
  98.         <textAlign>center</textAlign>
  99.         <font>Chicago</font>
  100.         <textSize>12</textSize>
  101.         <textStyle>plain</textStyle>
  102.         <name>Job</name>
  103.         <script>on mouseUpsplashMe ShareSplash -- noshareend mouseUpon splashMe bigsplashglobal iSawThePictureif iSawThePicture is empty thenput the visible of msg into msgVishide msgpicture bigSplash,resource,rect,true,8repeat 7if the mouseClick then exit repeatwait 1 secend repeatclose window bigSplashset the visible of msg to msgVisput "Indeed" into iSawThePicturelock screencleanUpstopPunchend ifend splashMe</script>
  104.     </part>
  105.     <part>
  106.         <id>14</id>
  107.         <type>button</type>
  108.         <visible> <true /> </visible>
  109.         <reserved5> 0 </reserved5>
  110.         <reserved4> 0 </reserved4>
  111.         <reserved3> 0 </reserved3>
  112.         <reserved2> 0 </reserved2>
  113.         <reserved1> 0 </reserved1>
  114.         <enabled> <true /> </enabled>
  115.         <rect>
  116.             <left>4</left>
  117.             <top>22</top>
  118.             <right>36</right>
  119.             <bottom>35</bottom>
  120.         </rect>
  121.         <style>transparent</style>
  122.         <showName> <false /> </showName>
  123.         <highlight> <false /> </highlight>
  124.         <autoHighlight> <false /> </autoHighlight>
  125.         <sharedHighlight> <true /> </sharedHighlight>
  126.         <family>0</family>
  127.         <titleWidth>0</titleWidth>
  128.         <icon>0</icon>
  129.         <textAlign>center</textAlign>
  130.         <font>Chicago</font>
  131.         <textSize>12</textSize>
  132.         <textStyle>plain</textStyle>
  133.         <name>Start</name>
  134.         <script></script>
  135.     </part>
  136.     <part>
  137.         <id>15</id>
  138.         <type>button</type>
  139.         <visible> <true /> </visible>
  140.         <reserved5> 0 </reserved5>
  141.         <reserved4> 0 </reserved4>
  142.         <reserved3> 0 </reserved3>
  143.         <reserved2> 0 </reserved2>
  144.         <reserved1> 0 </reserved1>
  145.         <enabled> <true /> </enabled>
  146.         <rect>
  147.             <left>4</left>
  148.             <top>38</top>
  149.             <right>36</right>
  150.             <bottom>51</bottom>
  151.         </rect>
  152.         <style>transparent</style>
  153.         <showName> <false /> </showName>
  154.         <highlight> <false /> </highlight>
  155.         <autoHighlight> <false /> </autoHighlight>
  156.         <sharedHighlight> <true /> </sharedHighlight>
  157.         <family>0</family>
  158.         <titleWidth>0</titleWidth>
  159.         <icon>0</icon>
  160.         <textAlign>center</textAlign>
  161.         <font>Chicago</font>
  162.         <textSize>12</textSize>
  163.         <textStyle>plain</textStyle>
  164.         <name>End</name>
  165.         <script></script>
  166.     </part>
  167.     <part>
  168.         <id>16</id>
  169.         <type>field</type>
  170.         <visible> <true /> </visible>
  171.         <dontWrap> <true /> </dontWrap>
  172.         <dontSearch> <false /> </dontSearch>
  173.         <sharedText> <true /> </sharedText>
  174.         <fixedLineHeight> <false /> </fixedLineHeight>
  175.         <autoTab> <false /> </autoTab>
  176.         <lockText> <false /> </lockText>
  177.         <rect>
  178.             <left>38</left>
  179.             <top>35</top>
  180.             <right>175</right>
  181.             <bottom>68</bottom>
  182.         </rect>
  183.         <style>transparent</style>
  184.         <autoSelect> <false /> </autoSelect>
  185.         <showLines> <false /> </showLines>
  186.         <wideMargins> <false /> </wideMargins>
  187.         <multipleLines> <false /> </multipleLines>
  188.         <reservedFamily> 0 </reservedFamily>
  189.         <titleWidth>0</titleWidth>
  190.         <icon>0</icon>
  191.         <textAlign>right</textAlign>
  192.         <font>Chicago</font>
  193.         <textSize>12</textSize>
  194.         <textStyle>plain</textStyle>
  195.         <textHeight>16</textHeight>
  196.         <name></name>
  197.         <script>on mouseDownif the visible of fld "TasksField" then exit mouseDownset highlight of bg button "End" to trueif line 4 of fld "JobInfo" is not empty thenbeepanswer "You must restart this job before stopping it."set highlight of bg button "End" to falseexit mouseDownend ifif line 2 of fld "JobInfo" is empty thenbeepanswer "You must start a job before stopping it."set highlight of bg button "End" to falseexit mouseDownend ifput line 2 of fld "JobInfo" into starterput starter into startCheckconvert startCheck to secsconvert starter to secsput the short time & return & "Enter Time" into pickedJobFullput item 1 of rect of the target + 1 & "," into TheMenuLocput item 2 of rect of the target + 4  after TheMenuLocput popUpMenu(pickedJobFull,TheMenuLoc,,"Geneva","9") into pickedJobHoldput line 1 of pickedJobHold into convertEndif convertEnd is empty thenset highlight of bg button "End" to falseput "Open" into line 3 of fld "jobInfo"exit mouseDownend ifif convertEnd is "Enter Time" thenask "What time did you finish the job?" with the short timeif it is "Open" thenbeepanswer quote & "Open" & quote && "is an invalid end time, please re-enter."set highlight of bg btn "End" to falseexit mouseDownend ifif it is empty thenset highlight of bg button "End" to falseexit mouseDownelseput it into convertEndend ifconvert it to secsif the result is not empty thenbeepanswer "Not a valid time. Please re-enter."set highlight of bg btn "End" to falseexit mouseDownend ifend ifput convertEnd into enderput ender into endCheckconvert endCheck to secsif startCheck > endCheck thenanswer "Oops, your end time is before your start time!"put "Open" into line 3 of fld "jobInfo"set highlight of bg button "End" to falseexit mouseDownend ifconvert ender to short timeput ender into line 3 of fld "jobInfo"taskTagput ender into fld "PrevEndTime"end mouseDown</script>
  198.     </part>
  199.     <part>
  200.         <id>17</id>
  201.         <type>field</type>
  202.         <visible> <true /> </visible>
  203.         <dontWrap> <true /> </dontWrap>
  204.         <dontSearch> <false /> </dontSearch>
  205.         <sharedText> <true /> </sharedText>
  206.         <fixedLineHeight> <false /> </fixedLineHeight>
  207.         <autoTab> <false /> </autoTab>
  208.         <lockText> <false /> </lockText>
  209.         <rect>
  210.             <left>38</left>
  211.             <top>20</top>
  212.             <right>175</right>
  213.             <bottom>36</bottom>
  214.         </rect>
  215.         <style>transparent</style>
  216.         <autoSelect> <false /> </autoSelect>
  217.         <showLines> <false /> </showLines>
  218.         <wideMargins> <false /> </wideMargins>
  219.         <multipleLines> <false /> </multipleLines>
  220.         <reservedFamily> 0 </reservedFamily>
  221.         <titleWidth>0</titleWidth>
  222.         <icon>0</icon>
  223.         <textAlign>right</textAlign>
  224.         <font>Chicago</font>
  225.         <textSize>12</textSize>
  226.         <textStyle>plain</textStyle>
  227.         <textHeight>16</textHeight>
  228.         <name></name>
  229.         <script>on mouseDownstartTheJobend mouseDown</script>
  230.     </part>
  231.     <part>
  232.         <id>18</id>
  233.         <type>field</type>
  234.         <visible> <true /> </visible>
  235.         <dontWrap> <true /> </dontWrap>
  236.         <dontSearch> <false /> </dontSearch>
  237.         <sharedText> <true /> </sharedText>
  238.         <fixedLineHeight> <true /> </fixedLineHeight>
  239.         <autoTab> <false /> </autoTab>
  240.         <lockText> <false /> </lockText>
  241.         <rect>
  242.             <left>38</left>
  243.             <top>3</top>
  244.             <right>175</right>
  245.             <bottom>22</bottom>
  246.         </rect>
  247.         <style>transparent</style>
  248.         <autoSelect> <false /> </autoSelect>
  249.         <showLines> <false /> </showLines>
  250.         <wideMargins> <false /> </wideMargins>
  251.         <multipleLines> <false /> </multipleLines>
  252.         <reservedFamily> 0 </reservedFamily>
  253.         <titleWidth>0</titleWidth>
  254.         <icon>0</icon>
  255.         <textAlign>right</textAlign>
  256.         <font>Geneva</font>
  257.         <textSize>9</textSize>
  258.         <textStyle>plain</textStyle>
  259.         <textHeight>16</textHeight>
  260.         <name></name>
  261.         <script>on mouseDownif the visible of fld "TasksField" then exit mouseDownglobal codeCheckput "true" into codeCheckset highlight of bg button "Job" to trueput empty into finditput 2 into gotOneif line 2 of fld "JobInfo" is empty and line 1 of fld "JobInfo" is not empty thenput fld id 60 into gotOneif gotOne is empty thenput 2 into gotOneend ifelseif line 3 of fld "jobInfo" is "Open" thenanswer "You already have a job started. Please stop it or cancel it before opening another job. Option-click" & ¬¨" on the start line to cancel or choose ‚ÄòCancel Job‚Äô from the TimeBook menu."set highlight of bg button "Job" to falseexit mouseDownend ifend ifput "New Job" & return & fld id 39 & "Clear Job List" into pickedJobFullput item 1 of rect of the target + 1  & "," into TheMenuLocput item 2 of rect of the target + 3 after TheMenuLocput popUpMenu(pickedJobFull,TheMenuLoc,gotOne,"Geneva","9") into pickedJobHoldput line 1 of pickedJobHold into pickedJobput line 2 of pickedJobHold into fld id 60if pickedJob is "New Job" thenput empty into fld "JobInfo"clientCodeif codeCheck is "false" thenset the highLight of bg button "Job" to falseexit mouseDownend ifput line 1 of fld "JobInfo" into pickedJobend ifif pickedJob is "Clear Job List" thenanswer "Are you sure you want to clear your job list" with "OK" or "Cancel"if it is "OK" thenput empty into fld id 39put empty into line 1 to 4 of fld "JobInfo"set highlight of bg button "Job" to falseexit mouseDownend ifend ifput character 1 to 34 of pickedJob into line 1 of fld "JobInfo"put empty into line 2 to 4 of fld "JobInfo"set highlight of bg button "Job" to falseend mouseDownon checkForFourget line 1 of fld "jobInfo"put offset(" ",it) into holdFourif holdFour = 9 thenput "0" after character 5 of line 1 of fld "jobInfo"end ifend checkForFour</script>
  262.     </part>
  263.     <part>
  264.         <id>23</id>
  265.         <type>field</type>
  266.         <visible> <false /> </visible>
  267.         <dontWrap> <true /> </dontWrap>
  268.         <dontSearch> <false /> </dontSearch>
  269.         <sharedText> <true /> </sharedText>
  270.         <fixedLineHeight> <false /> </fixedLineHeight>
  271.         <autoTab> <false /> </autoTab>
  272.         <lockText> <false /> </lockText>
  273.         <rect>
  274.             <left>35</left>
  275.             <top>18</top>
  276.             <right>175</right>
  277.             <bottom>33</bottom>
  278.         </rect>
  279.         <style>transparent</style>
  280.         <autoSelect> <false /> </autoSelect>
  281.         <showLines> <false /> </showLines>
  282.         <wideMargins> <false /> </wideMargins>
  283.         <multipleLines> <false /> </multipleLines>
  284.         <reservedFamily> 0 </reservedFamily>
  285.         <titleWidth>0</titleWidth>
  286.         <icon>0</icon>
  287.         <textAlign>right</textAlign>
  288.         <font>Geneva</font>
  289.         <textSize>9</textSize>
  290.         <textStyle>plain</textStyle>
  291.         <textHeight>12</textHeight>
  292.         <name>PrevEndTime</name>
  293.         <script></script>
  294.     </part>
  295.     <part>
  296.         <id>27</id>
  297.         <type>button</type>
  298.         <visible> <true /> </visible>
  299.         <reserved5> 0 </reserved5>
  300.         <reserved4> 0 </reserved4>
  301.         <reserved3> 0 </reserved3>
  302.         <reserved2> 0 </reserved2>
  303.         <reserved1> 0 </reserved1>
  304.         <enabled> <true /> </enabled>
  305.         <rect>
  306.             <left>4</left>
  307.             <top>54</top>
  308.             <right>36</right>
  309.             <bottom>67</bottom>
  310.         </rect>
  311.         <style>transparent</style>
  312.         <showName> <false /> </showName>
  313.         <highlight> <false /> </highlight>
  314.         <autoHighlight> <false /> </autoHighlight>
  315.         <sharedHighlight> <true /> </sharedHighlight>
  316.         <family>0</family>
  317.         <titleWidth>0</titleWidth>
  318.         <icon>0</icon>
  319.         <textAlign>center</textAlign>
  320.         <font>Chicago</font>
  321.         <textSize>12</textSize>
  322.         <textStyle>plain</textStyle>
  323.         <name>Task</name>
  324.         <script></script>
  325.     </part>
  326.     <part>
  327.         <id>37</id>
  328.         <type>field</type>
  329.         <visible> <false /> </visible>
  330.         <dontWrap> <true /> </dontWrap>
  331.         <dontSearch> <false /> </dontSearch>
  332.         <sharedText> <true /> </sharedText>
  333.         <fixedLineHeight> <false /> </fixedLineHeight>
  334.         <autoTab> <false /> </autoTab>
  335.         <lockText> <false /> </lockText>
  336.         <rect>
  337.             <left>2</left>
  338.             <top>2</top>
  339.             <right>175</right>
  340.             <bottom>21</bottom>
  341.         </rect>
  342.         <style>rectangle</style>
  343.         <autoSelect> <false /> </autoSelect>
  344.         <showLines> <false /> </showLines>
  345.         <wideMargins> <false /> </wideMargins>
  346.         <multipleLines> <false /> </multipleLines>
  347.         <reservedFamily> 0 </reservedFamily>
  348.         <titleWidth>0</titleWidth>
  349.         <icon>0</icon>
  350.         <textAlign>left</textAlign>
  351.         <font>Geneva</font>
  352.         <textSize>12</textSize>
  353.         <textStyle>plain</textStyle>
  354.         <textHeight>16</textHeight>
  355.         <name>DateHolder</name>
  356.         <script></script>
  357.     </part>
  358.     <part>
  359.         <id>47</id>
  360.         <type>field</type>
  361.         <visible> <false /> </visible>
  362.         <dontWrap> <true /> </dontWrap>
  363.         <dontSearch> <false /> </dontSearch>
  364.         <sharedText> <true /> </sharedText>
  365.         <fixedLineHeight> <false /> </fixedLineHeight>
  366.         <autoTab> <false /> </autoTab>
  367.         <lockText> <false /> </lockText>
  368.         <rect>
  369.             <left>2</left>
  370.             <top>53</top>
  371.             <right>36</right>
  372.             <bottom>68</bottom>
  373.         </rect>
  374.         <style>opaque</style>
  375.         <autoSelect> <false /> </autoSelect>
  376.         <showLines> <false /> </showLines>
  377.         <wideMargins> <false /> </wideMargins>
  378.         <multipleLines> <false /> </multipleLines>
  379.         <reservedFamily> 0 </reservedFamily>
  380.         <titleWidth>0</titleWidth>
  381.         <icon>0</icon>
  382.         <textAlign>left</textAlign>
  383.         <font>New York</font>
  384.         <textSize>9</textSize>
  385.         <textStyle>bold</textStyle>
  386.         <textHeight>12</textHeight>
  387.         <name>CodeButton</name>
  388.         <script></script>
  389.     </part>
  390.     <part>
  391.         <id>44</id>
  392.         <type>field</type>
  393.         <visible> <false /> </visible>
  394.         <dontWrap> <true /> </dontWrap>
  395.         <dontSearch> <false /> </dontSearch>
  396.         <sharedText> <false /> </sharedText>
  397.         <fixedLineHeight> <false /> </fixedLineHeight>
  398.         <autoTab> <false /> </autoTab>
  399.         <lockText> <false /> </lockText>
  400.         <rect>
  401.             <left>2</left>
  402.             <top>5</top>
  403.             <right>175</right>
  404.             <bottom>67</bottom>
  405.         </rect>
  406.         <style>scrolling</style>
  407.         <autoSelect> <false /> </autoSelect>
  408.         <showLines> <false /> </showLines>
  409.         <wideMargins> <false /> </wideMargins>
  410.         <multipleLines> <false /> </multipleLines>
  411.         <reservedFamily> 0 </reservedFamily>
  412.         <titleWidth>0</titleWidth>
  413.         <icon>0</icon>
  414.         <textAlign>left</textAlign>
  415.         <font>Geneva</font>
  416.         <textSize>9</textSize>
  417.         <textStyle>plain</textStyle>
  418.         <textHeight>12</textHeight>
  419.         <name>Clients</name>
  420.         <script></script>
  421.     </part>
  422.     <part>
  423.         <id>45</id>
  424.         <type>field</type>
  425.         <visible> <false /> </visible>
  426.         <dontWrap> <false /> </dontWrap>
  427.         <dontSearch> <false /> </dontSearch>
  428.         <sharedText> <true /> </sharedText>
  429.         <fixedLineHeight> <false /> </fixedLineHeight>
  430.         <autoTab> <false /> </autoTab>
  431.         <lockText> <false /> </lockText>
  432.         <rect>
  433.             <left>38</left>
  434.             <top>53</top>
  435.             <right>175</right>
  436.             <bottom>67</bottom>
  437.         </rect>
  438.         <style>rectangle</style>
  439.         <autoSelect> <false /> </autoSelect>
  440.         <showLines> <false /> </showLines>
  441.         <wideMargins> <false /> </wideMargins>
  442.         <multipleLines> <false /> </multipleLines>
  443.         <reservedFamily> 0 </reservedFamily>
  444.         <titleWidth>0</titleWidth>
  445.         <icon>0</icon>
  446.         <textAlign>left</textAlign>
  447.         <font>Geneva</font>
  448.         <textSize>9</textSize>
  449.         <textStyle>plain</textStyle>
  450.         <textHeight>12</textHeight>
  451.         <name>ClientField</name>
  452.         <script>on mouseDownglobal jobNumerals,clientNumeralsset highlight of bg button id 46 to trueput empty into fld "ClientField"put fld id 44 into clientListput item 1 of rect of the target +1  & "," into TheMenuLocput item 2 of rect of the target  after TheMenuLocput popUpMenu(clientList,TheMenuLoc,,"Geneva","9") into clientTempput line 1 of clientTemp into pickedClientif pickedClient is empty thenset highlight of bg button id 46 to falsehide fld "CodeButton"hide fld "ClientField"put empty into line 1 of fld "jobInfo"exit mouseDownend ifput last word of pickedClient into clientHoldput "-" & word 1 of clientHold after line 1 of fld "JobInfo"set highlight of bg button id 46 to falsehide fld "ClientField"hide fld "CodeButton"if fld id 39 is not empty thenif clientNumerals = 0 then put 0 into addSpaceelse put 1 into addSpaceput character 1 to (clientNumerals + jobNumerals + addSpace) of line 1 of fld "JobInfo" into numbTempif jobNumerals = "0" then put line 1 of fld "JobInfo" into numbTempfind numbTemp in fld id 39if the result is empty thenanswer "You already have a job with that number in your job list"put empty into line 1 of fld "JobInfo"put the value of the foundLine into line 1 of fld "JobInfo"set the highLight of bg button "Job" to falseexit mouseDownend ifend iflock screenaddJobNameunlock screenend mouseDown</script>
  453.     </part>
  454.     <part>
  455.         <id>50</id>
  456.         <type>field</type>
  457.         <visible> <false /> </visible>
  458.         <dontWrap> <true /> </dontWrap>
  459.         <dontSearch> <false /> </dontSearch>
  460.         <sharedText> <false /> </sharedText>
  461.         <fixedLineHeight> <false /> </fixedLineHeight>
  462.         <autoTab> <false /> </autoTab>
  463.         <lockText> <false /> </lockText>
  464.         <rect>
  465.             <left>2</left>
  466.             <top>2</top>
  467.             <right>176</right>
  468.             <bottom>65</bottom>
  469.         </rect>
  470.         <style>scrolling</style>
  471.         <autoSelect> <false /> </autoSelect>
  472.         <showLines> <false /> </showLines>
  473.         <wideMargins> <false /> </wideMargins>
  474.         <multipleLines> <false /> </multipleLines>
  475.         <reservedFamily> 0 </reservedFamily>
  476.         <titleWidth>0</titleWidth>
  477.         <icon>0</icon>
  478.         <textAlign>left</textAlign>
  479.         <font>Geneva</font>
  480.         <textSize>9</textSize>
  481.         <textStyle>plain</textStyle>
  482.         <textHeight>12</textHeight>
  483.         <name>TasksScroll</name>
  484.         <script></script>
  485.     </part>
  486.     <part>
  487.         <id>60</id>
  488.         <type>field</type>
  489.         <visible> <false /> </visible>
  490.         <dontWrap> <false /> </dontWrap>
  491.         <dontSearch> <false /> </dontSearch>
  492.         <sharedText> <false /> </sharedText>
  493.         <fixedLineHeight> <false /> </fixedLineHeight>
  494.         <autoTab> <false /> </autoTab>
  495.         <lockText> <false /> </lockText>
  496.         <rect>
  497.             <left>35</left>
  498.             <top>4</top>
  499.             <right>175</right>
  500.             <bottom>20</bottom>
  501.         </rect>
  502.         <style>transparent</style>
  503.         <autoSelect> <false /> </autoSelect>
  504.         <showLines> <false /> </showLines>
  505.         <wideMargins> <false /> </wideMargins>
  506.         <multipleLines> <false /> </multipleLines>
  507.         <reservedFamily> 0 </reservedFamily>
  508.         <titleWidth>0</titleWidth>
  509.         <icon>0</icon>
  510.         <textAlign>left</textAlign>
  511.         <font>Geneva</font>
  512.         <textSize>12</textSize>
  513.         <textStyle>plain</textStyle>
  514.         <textHeight>16</textHeight>
  515.         <name>HideNumber</name>
  516.         <script></script>
  517.     </part>
  518.     <part>
  519.         <id>61</id>
  520.         <type>field</type>
  521.         <visible> <false /> </visible>
  522.         <dontWrap> <false /> </dontWrap>
  523.         <dontSearch> <false /> </dontSearch>
  524.         <sharedText> <false /> </sharedText>
  525.         <fixedLineHeight> <false /> </fixedLineHeight>
  526.         <autoTab> <false /> </autoTab>
  527.         <lockText> <false /> </lockText>
  528.         <rect>
  529.             <left>2</left>
  530.             <top>5</top>
  531.             <right>175</right>
  532.             <bottom>67</bottom>
  533.         </rect>
  534.         <style>scrolling</style>
  535.         <autoSelect> <false /> </autoSelect>
  536.         <showLines> <false /> </showLines>
  537.         <wideMargins> <false /> </wideMargins>
  538.         <multipleLines> <false /> </multipleLines>
  539.         <reservedFamily> 0 </reservedFamily>
  540.         <titleWidth>0</titleWidth>
  541.         <icon>0</icon>
  542.         <textAlign>left</textAlign>
  543.         <font>Geneva</font>
  544.         <textSize>9</textSize>
  545.         <textStyle>plain</textStyle>
  546.         <textHeight>12</textHeight>
  547.         <name>Billing Categories</name>
  548.         <script></script>
  549.     </part>
  550.     <part>
  551.         <id>39</id>
  552.         <type>field</type>
  553.         <visible> <false /> </visible>
  554.         <dontWrap> <true /> </dontWrap>
  555.         <dontSearch> <false /> </dontSearch>
  556.         <sharedText> <false /> </sharedText>
  557.         <fixedLineHeight> <true /> </fixedLineHeight>
  558.         <autoTab> <false /> </autoTab>
  559.         <lockText> <false /> </lockText>
  560.         <rect>
  561.             <left>2</left>
  562.             <top>5</top>
  563.             <right>175</right>
  564.             <bottom>67</bottom>
  565.         </rect>
  566.         <style>scrolling</style>
  567.         <autoSelect> <false /> </autoSelect>
  568.         <showLines> <false /> </showLines>
  569.         <wideMargins> <false /> </wideMargins>
  570.         <multipleLines> <false /> </multipleLines>
  571.         <reservedFamily> 0 </reservedFamily>
  572.         <titleWidth>0</titleWidth>
  573.         <icon>0</icon>
  574.         <textAlign>left</textAlign>
  575.         <font>Geneva</font>
  576.         <textSize>9</textSize>
  577.         <textStyle>plain</textStyle>
  578.         <textHeight>12</textHeight>
  579.         <name>Jobs</name>
  580.         <script></script>
  581.     </part>
  582.     <part>
  583.         <id>26</id>
  584.         <type>field</type>
  585.         <visible> <false /> </visible>
  586.         <dontWrap> <true /> </dontWrap>
  587.         <dontSearch> <false /> </dontSearch>
  588.         <sharedText> <true /> </sharedText>
  589.         <fixedLineHeight> <false /> </fixedLineHeight>
  590.         <autoTab> <false /> </autoTab>
  591.         <lockText> <false /> </lockText>
  592.         <rect>
  593.             <left>38</left>
  594.             <top>53</top>
  595.             <right>175</right>
  596.             <bottom>67</bottom>
  597.         </rect>
  598.         <style>rectangle</style>
  599.         <autoSelect> <false /> </autoSelect>
  600.         <showLines> <false /> </showLines>
  601.         <wideMargins> <false /> </wideMargins>
  602.         <multipleLines> <false /> </multipleLines>
  603.         <reservedFamily> 0 </reservedFamily>
  604.         <titleWidth>0</titleWidth>
  605.         <icon>0</icon>
  606.         <textAlign>left</textAlign>
  607.         <font>Geneva</font>
  608.         <textSize>9</textSize>
  609.         <textStyle>plain</textStyle>
  610.         <textHeight>12</textHeight>
  611.         <name>TasksField</name>
  612.         <script>on mouseDownglobal commentsOnput empty into fld "TasksField"put item 1 of rect of the target + 1  & "," into TheMenuLocput item 2 of rect of the target + 1 after TheMenuLocif the highlight of bg btn id 27 and commentsOn is true thenset the highlight of bg btn id 46 to trueput "New" & return & "(C0) No comment" & return & fld "Comments" into commentListput popUpMenu (commentList,TheMenuLoc,2,geneva,9) into commentTempput line 1 of commentTemp into pickedCommentif pickedComment is empty thenset highlight of bg btn id 27 to falseset highlight of bg btn "End" to falsehide fld "TasksField"hide fld "CodeButton"put "Open" into line 3 of fld "jobInfo"set the highlight of bg btn id 46 to falseput empty into line 4 of fld "JobInfo"exit mouseDownend ifif pickedComment is "New" thenask "Enter comment for " & line 1 of fld "JobInfo" & "‚Ķ"if the result is cancel thenset highlight of bg btn id 27 to falseset highlight of bg btn "End" to falseput "Open" into line 3 of fld "jobInfo"set the highlight of bg btn id 46 to falseput empty into line 4 of fld "JobInfo"hide fld "TasksField"hide fld "CodeButton"exit mouseDownend ifif char 1 to 2 of it is "(C" thendelete char 1 to offset(")",it) + 1 of itend ifrepeat with x = 1 to (the number of chars of it)if char x of it is "," then put "/" into char x of itend repeatput (char 3 to (the number of chars of word 1 of the last line of fld "Comments" - 1) of the last line of fld "Comments") + 1 into nextComput "(C" & nextCom & ")" && it & return  after fld "Comments"put word 1 of the last line of fld "Comments" into holdCommentelseput word 1 of pickedComment into holdCommentend iflock screenhide fld "TasksField"hide fld "CodeButton"set highlight of bg button id 27 to falseset the highlight of bg btn id 46 to falseunlock screenset cursor to watchupdateDayList holdCommentexit mouseDownend ifset highlight of bg button id 27 to trueset highlight of bg btn "End" to falseif the optionKey is down thenput fld "TasksScroll" into tasksListput popUpMenu (tasksList,theMenuLoc,20,geneva,9) into tasksTempelseput fld id 61 into tasksListput popUpMenu (tasksList,theMenuLoc,,geneva,9) into tasksTempend ifput line 1 of tasksTemp into pickedTaskif pickedTask is empty thenset highlight of bg btn id 27 to falseset highlight of bg btn "End" to falsehide fld "TasksField"put "Open" into line 3 of fld "jobInfo"unlock screenexit mouseDownend ifput word 1 of pickedTask into line 4 of fld "JobInfo"if the commandKey is not down and commentsOn is true thenput "Com" into fld "CodeButton"show fld "CodeButton"put "Click Here to Enter Comment." into fld "TasksField"show fld "TasksField"exit mouseDownend ifif the commandKey is down then put "(C0)" into holdCommentset highlight of bg button id 27 to falsehide fld "TasksField"set cursor to watchupdateDayList holdCommentend mouseDown</script>
  613.     </part>
  614.     <part>
  615.         <id>66</id>
  616.         <type>button</type>
  617.         <visible> <true /> </visible>
  618.         <reserved5> 0 </reserved5>
  619.         <reserved4> 0 </reserved4>
  620.         <reserved3> 0 </reserved3>
  621.         <reserved2> 0 </reserved2>
  622.         <reserved1> 0 </reserved1>
  623.         <enabled> <true /> </enabled>
  624.         <rect>
  625.             <left>4</left>
  626.             <top>6</top>
  627.             <right>36</right>
  628.             <bottom>19</bottom>
  629.         </rect>
  630.         <style>transparent</style>
  631.         <showName> <false /> </showName>
  632.         <highlight> <false /> </highlight>
  633.         <autoHighlight> <false /> </autoHighlight>
  634.         <sharedHighlight> <true /> </sharedHighlight>
  635.         <family>0</family>
  636.         <titleWidth>0</titleWidth>
  637.         <icon>0</icon>
  638.         <textAlign>center</textAlign>
  639.         <font>Geneva</font>
  640.         <textSize>12</textSize>
  641.         <textStyle>plain</textStyle>
  642.         <name>The Job</name>
  643.         <script>on mouseUpend mouseUp</script>
  644.     </part>
  645.     <part>
  646.         <id>65</id>
  647.         <type>field</type>
  648.         <visible> <false /> </visible>
  649.         <dontWrap> <true /> </dontWrap>
  650.         <dontSearch> <false /> </dontSearch>
  651.         <sharedText> <false /> </sharedText>
  652.         <fixedLineHeight> <true /> </fixedLineHeight>
  653.         <autoTab> <false /> </autoTab>
  654.         <lockText> <false /> </lockText>
  655.         <rect>
  656.             <left>2</left>
  657.             <top>5</top>
  658.             <right>175</right>
  659.             <bottom>67</bottom>
  660.         </rect>
  661.         <style>scrolling</style>
  662.         <autoSelect> <false /> </autoSelect>
  663.         <showLines> <false /> </showLines>
  664.         <wideMargins> <false /> </wideMargins>
  665.         <multipleLines> <false /> </multipleLines>
  666.         <reservedFamily> 0 </reservedFamily>
  667.         <titleWidth>0</titleWidth>
  668.         <icon>0</icon>
  669.         <textAlign>left</textAlign>
  670.         <font>Geneva</font>
  671.         <textSize>9</textSize>
  672.         <textStyle>plain</textStyle>
  673.         <textHeight>12</textHeight>
  674.         <name>Comments</name>
  675.         <script></script>
  676.     </part>
  677.     <part>
  678.         <id>67</id>
  679.         <type>button</type>
  680.         <visible> <true /> </visible>
  681.         <reserved5> 0 </reserved5>
  682.         <reserved4> 0 </reserved4>
  683.         <reserved3> 0 </reserved3>
  684.         <reserved2> 0 </reserved2>
  685.         <reserved1> 0 </reserved1>
  686.         <enabled> <true /> </enabled>
  687.         <rect>
  688.             <left>176</left>
  689.             <top>52</top>
  690.             <right>189</right>
  691.             <bottom>67</bottom>
  692.         </rect>
  693.         <style>transparent</style>
  694.         <showName> <false /> </showName>
  695.         <highlight> <false /> </highlight>
  696.         <autoHighlight> <false /> </autoHighlight>
  697.         <sharedHighlight> <false /> </sharedHighlight>
  698.         <family>0</family>
  699.         <titleWidth>0</titleWidth>
  700.         <icon>18718</icon>
  701.         <textAlign>center</textAlign>
  702.         <font>Chicago</font>
  703.         <textSize>12</textSize>
  704.         <textStyle>plain</textStyle>
  705.         <name>Billing CategoriesList</name>
  706.         <script>on mouseUpif the highLight of me then sort fld id 61if the optionKey is down then put "down" into isOptionDownset the highlight of bg btn id 68 to falseset the highlight of bg btn id 69 to falseset the highlight of me to truelock screenset the visible of fld "Jobs" to falseset the visible of fld "Clients" to falseset the checkMark of menuItem "Edit Jobs" of menu "TimeBook" to falseset the checkMark of menuItem "Edit Clients" of menu "TimeBook" to falseeditIt (the id of fld "Billing Categories"),isOptionDownif not the visible of fld "Billing Categories" then set the highlight of me to falseend mouseUp</script>
  707.     </part>
  708.     <part>
  709.         <id>68</id>
  710.         <type>button</type>
  711.         <visible> <true /> </visible>
  712.         <reserved5> 0 </reserved5>
  713.         <reserved4> 0 </reserved4>
  714.         <reserved3> 0 </reserved3>
  715.         <reserved2> 0 </reserved2>
  716.         <reserved1> 0 </reserved1>
  717.         <enabled> <true /> </enabled>
  718.         <rect>
  719.             <left>176</left>
  720.             <top>36</top>
  721.             <right>189</right>
  722.             <bottom>51</bottom>
  723.         </rect>
  724.         <style>transparent</style>
  725.         <showName> <false /> </showName>
  726.         <highlight> <false /> </highlight>
  727.         <autoHighlight> <false /> </autoHighlight>
  728.         <sharedHighlight> <false /> </sharedHighlight>
  729.         <family>0</family>
  730.         <titleWidth>0</titleWidth>
  731.         <icon>18717</icon>
  732.         <textAlign>center</textAlign>
  733.         <font>Chicago</font>
  734.         <textSize>12</textSize>
  735.         <textStyle>plain</textStyle>
  736.         <name>ClientsList</name>
  737.         <script>on mouseUpif the optionKey is down then put "down" into isOptionDownset the highlight of bg btn id 67 to falseset the highlight of bg btn id 69 to falseset the highlight of me to truelock screenset the visible of fld "Jobs" to falseset the visible of fld "Billing Categories" to falseset the checkMark of menuItem "Edit Jobs" of menu "TimeBook" to falseset the checkMark of menuItem "Edit Billing Categories" of menu "TimeBook" to falseeditIt (the id of fld "Clients"),isOptionDownif not the visible of fld "Clients" then set the highlight of me to falseend mouseUp</script>
  738.     </part>
  739.     <part>
  740.         <id>69</id>
  741.         <type>button</type>
  742.         <visible> <true /> </visible>
  743.         <reserved5> 0 </reserved5>
  744.         <reserved4> 0 </reserved4>
  745.         <reserved3> 0 </reserved3>
  746.         <reserved2> 0 </reserved2>
  747.         <reserved1> 0 </reserved1>
  748.         <enabled> <true /> </enabled>
  749.         <rect>
  750.             <left>176</left>
  751.             <top>20</top>
  752.             <right>189</right>
  753.             <bottom>35</bottom>
  754.         </rect>
  755.         <style>transparent</style>
  756.         <showName> <false /> </showName>
  757.         <highlight> <false /> </highlight>
  758.         <autoHighlight> <false /> </autoHighlight>
  759.         <sharedHighlight> <false /> </sharedHighlight>
  760.         <family>0</family>
  761.         <titleWidth>0</titleWidth>
  762.         <icon>18716</icon>
  763.         <textAlign>center</textAlign>
  764.         <font>Chicago</font>
  765.         <textSize>12</textSize>
  766.         <textStyle>plain</textStyle>
  767.         <name>JobsList</name>
  768.         <script>on mouseUpif the optionKey is down then put "down" into isOptionDownset the highlight of bg btn id 67 to falseset the highlight of bg btn id 68 to falseset the highlight of me to truelock screenset the visible of fld "Clients" to falseset the visible of fld "Billing Categories" to falseset the checkMark of menuItem "Edit Clients" of menu "TimeBook" to falseset the checkMark of menuItem "Edit Billing Categories" of menu "TimeBook" to falseeditIt (the id of fld "Jobs"),isOptionDownif not the visible of fld "Jobs" then set the highlight of me to falseend mouseUp</script>
  769.     </part>
  770.     <part>
  771.         <id>70</id>
  772.         <type>button</type>
  773.         <visible> <true /> </visible>
  774.         <reserved5> 0 </reserved5>
  775.         <reserved4> 0 </reserved4>
  776.         <reserved3> 0 </reserved3>
  777.         <reserved2> 0 </reserved2>
  778.         <reserved1> 0 </reserved1>
  779.         <enabled> <true /> </enabled>
  780.         <rect>
  781.             <left>176</left>
  782.             <top>3</top>
  783.             <right>189</right>
  784.             <bottom>20</bottom>
  785.         </rect>
  786.         <style>transparent</style>
  787.         <showName> <false /> </showName>
  788.         <highlight> <false /> </highlight>
  789.         <autoHighlight> <true /> </autoHighlight>
  790.         <sharedHighlight> <true /> </sharedHighlight>
  791.         <family>0</family>
  792.         <titleWidth>0</titleWidth>
  793.         <icon>25579</icon>
  794.         <textAlign>center</textAlign>
  795.         <font>Chicago</font>
  796.         <textSize>12</textSize>
  797.         <textStyle>plain</textStyle>
  798.         <name>New Button</name>
  799.         <script>on mouseUpglobal versionNumberset cursor to watchset lockMessages to trueif the highlight of bg btn id 69 then send mouseUp to bg btn id 69if the highlight of bg btn id 68 then send mouseUp to bg btn id 68if the highlight of bg btn id 67 then send mouseUp to bg btn id 67put word 2 of the short name of this stack into versionNumbergoLogicend mouseUp</script>
  800.     </part>
  801.     <part>
  802.         <id>71</id>
  803.         <type>field</type>
  804.         <visible> <false /> </visible>
  805.         <dontWrap> <true /> </dontWrap>
  806.         <dontSearch> <false /> </dontSearch>
  807.         <sharedText> <true /> </sharedText>
  808.         <fixedLineHeight> <false /> </fixedLineHeight>
  809.         <autoTab> <false /> </autoTab>
  810.         <lockText> <false /> </lockText>
  811.         <rect>
  812.             <left>2</left>
  813.             <top>20</top>
  814.             <right>175</right>
  815.             <bottom>39</bottom>
  816.         </rect>
  817.         <style>rectangle</style>
  818.         <autoSelect> <false /> </autoSelect>
  819.         <showLines> <false /> </showLines>
  820.         <wideMargins> <false /> </wideMargins>
  821.         <multipleLines> <false /> </multipleLines>
  822.         <reservedFamily> 0 </reservedFamily>
  823.         <titleWidth>0</titleWidth>
  824.         <icon>0</icon>
  825.         <textAlign>left</textAlign>
  826.         <font>Geneva</font>
  827.         <textSize>12</textSize>
  828.         <textStyle>plain</textStyle>
  829.         <textHeight>16</textHeight>
  830.         <name>WeekHolder</name>
  831.         <script></script>
  832.     </part>
  833.     <content>
  834.         <layer>background</layer>
  835.         <id>47</id>
  836.         <text>Com</text>
  837.     </content>
  838.     <content>
  839.         <layer>background</layer>
  840.         <id>44</id>
  841.         <text>Advd Communication Design 059Alb Collegiate Interfaith Ctr 006Amer Payroll Network 063Benfanti Design Group 020Bruce Matt 079Capital Cablevision 005Carpet Factory Outlet 008CBS Records 049CEI Inc 064Concordia College 007D.Schmidt 067Fluorglas 010Food Enterprise 041Friendly Home Parties 080GE Plastics 088GlenMonitor USA 013Glennpeter Jewlers 014Great American 027HBO 004Hermal Pharmeceutical 089Hollywood Records 084Insulating Materials 090King Fuels 015Lady Americana 077Logicware 037Margold 029Mark III 017Media Logic 099Mercari Group 078Metroland Photo 028Michaels Group 085MICO 073Mohawk Carpets 075Movies Plus 076Moyse and Associates 018Murphy Productions 069Natl Baseball Hall of Fame 091New Art Printing 081Otesaga Hotel and Cooper Inn 086Our Town Television 060Prescott Woods 071Price Chopper Books 011RPI 098Sound Logic Outside Clients 050Specialty Silicone Products 087State Board of Elections 030Stevens and Thompson Paper 082The Editing Room 009Town of Colonie Police Dept 066Tropical Records 039Troy Mattress Company 056TWM-BH 002TWM-GA 001White Management 074</text>
  842.     </content>
  843.     <content>
  844.         <layer>background</layer>
  845.         <id>50</id>
  846.         <text>000 Lunch/Personal005 Client Contact010 Acct Management015 Market Research020 Copy025 Copy-Client Rev030 Creative Develop035 Client Approval040 Admin Client045 Media Research050 Media Planning052 Media Trafficking055 Media Buying060 Media Auditing065 Pub Relation/Client070 Travel Time075 Quotes110 Production Suprvsn115 Proofing118 Illustration120 Design125 Design-Client Rev130 Mechanicals132 Agency Errors136 Mech-Client Rev160 Brodcst Production170 Photostyling175 Store Design180 Design Library185 Design Specifier250 Adm Shipping295 SL Voice Tallent296 Studio Production300 New Business305 Agency Self Promo306 Interior Design ML310 Staff Meeting314 Administrative SL315 Administration316 Computer Admin320 Personal/Sick325 Vacation330 Leave of Absence332 Jury Duty335 Holiday345 Bereavement Leave381 Recruitment393 Dubs/Tep394 Packing</text>
  847.     </content>
  848.     <content>
  849.         <layer>background</layer>
  850.         <id>71</id>
  851.         <text>Monday, March 22, 1993</text>
  852.     </content>
  853.     <content>
  854.         <layer>background</layer>
  855.         <id>37</id>
  856.         <text>Monday, March 22, 1993</text>
  857.     </content>
  858.     <content>
  859.         <layer>background</layer>
  860.         <id>23</id>
  861.         <text>8:37 PM</text>
  862.     </content>
  863.     <name></name>
  864.     <script>-- STACKS: TimeBook, TimeClock, TimeFile-- VERSION:2.0-- ¬©Copyright 1993 Ronald Ladouceur, All Rights Reserved.-- DESCRIPTION: TimeBook - a fully functional time sheet and time tracking system.-- REQUIREMENTS: HyperCard 2.1 or HyperCard Player-- TimeBook uses XFCNs created in CompileIt! 2.1 ¬©Copyright 1992 by Heizer Software.-- The source HyperTalk scripts used to create these XFCNs and XCMDs are at the end-- of the background script of the TimeClock stack.-- TimeBook‚Äôs TimeClock stack uses an XFCN called popUpMenu() XFCN ¬©Copyright 1991-- by BungDabba Productions, All Rights Reserved. A popup menu XFCN which-- allows you to specify font and size.-- GLOBALS: commentsOn, autoUpdate, proMenus, punchLockOut,-- clientNumerals, jobNumerals, versionNumber, saveLockOut, holdDayList,-- optionStart, daysEnd, alreadyKnow, lastClickon idleglobal versionNumber,punchLockOut,daysEnd,saveLockOutif wrongStack() then pass idleif daysEnd is empty thenif fld "dateHolder" is not the long date or punchLockOut is true thenopenStackend ifend ifif saveLockOut is true then disable menuItem "Save/Print" of menu "TimeBook"else enable menuItem "Save/Print" of menu "TimeBook"end idle-- keyboard equivelents for 'TimeClock' stack pop-up menuson keyStarterif the visible of fld "TasksField" then exit to HyperCardset highlight of bg btn "Start" to trueif line 3 of fld "jobInfo" is "Open" thenanswer "You already have a job started. Please stop it or cancel it before opening another job. Option-click" & ¬¨" on the start line to cancel or choose ‚ÄòCancel Job‚Äô from the TimeBook menu."set highlight of bg button "Start" to falseexit to HyperCardend ifif line 1 of fld "jobInfo" is empty thenbeepanswer "Please open a job."set highlight of bg button "Start" to falseexit to HyperCardend ifput fld "PrevEndTime" into lastTimeif lastTime is empty thenask "What time did you start the job?" with the short timeelseask "What time did you start the job?" with lastTimeend ifif the result is "Cancel" thenset highlight of bg button "Start" to falseexit to HyperCardend ifput it into convertStartput lastTime into convertEndconvert convertEnd to secsconvert convertStart to secsif convertEnd > convertStart thenanswer "WARNING: This start time is earlier than your last end time." with "OK" or "Cancel"if it is "Cancel" thenset highlight of bg button "Start" to falseexit to HyperCardend ifend ifconvert convertStart to short timeput convertStart into line 2 of fld "jobInfo"put "Open" into line 3 of fld "jobInfo"put empty into line 4 of fld "JobInfo"set highlight of bg button "Start" to falseend keyStarteron keyJobif line 3 of fld "jobInfo" is "Open" thenanswer "You already have a job started. Please stop it or cancel it before opening another job. Option-click" & ¬¨" on the start line to cancel or choose ‚ÄòCancel Job‚Äô from the TimeBook menu."set highlight of bg button "Job" to falseexit to HyperCardend ifget showList(fld id 39,"Open job‚Ķ",false,true,"OK,Cancel,New",1)if line 1 of it is "Cancel" then exit to HyperCardput line (line 2 of it) of fld id 39 into holdjobif the visible of fld "TasksField" then exit to HyperCardglobal codeCheckput "true" into codeCheckset highlight of bg button "Job" to trueif line 1 of it is "New" thenput empty into fld "JobInfo"clientCodeif codeCheck is "false" thenset the highLight of bg button "Job" to falseexit keyJobend ifput line 1 of fld "JobInfo" into holdJobend ifif codeCheck is "false" thenset the highLight of bg button "Job" to falseexit to HyperCardend ifput holdJob into pickedJobput character 1 to 34 of pickedJob into line 1 of fld "JobInfo"put empty into line 2 to 4 of fld "JobInfo"set highlight of bg button "Job" to falseend keyJobon commandKeyDown whichKeyif whichKey is "o" thenkeyJobexit commandKeyDownend ifif whichKey is "n" thenkeyNewJobexit commandKeyDownend ifif whichKey is "[" thenkeyStarterexit commandKeyDownend ifif whichKey is "]" thenkeyEnderexit commandKeyDownend ifif "Clock" is in the short name of this stack thenif whichKey is "b" and the visible of fld id 26 thenkeyBillitexit commandKeyDownend ifend ifpass commandKeyDownend commandKeyDownon keyEnderglobal daysEndif the visible of fld "TasksField" then exit to HyperCardif line 4 of fld "JobInfo" is not empty thenbeepanswer "You must restart this job before stopping it."exit keyEnderend ifif line 2 of fld "JobInfo" is empty thenbeepanswer "You must start a job before stopping it."exit to HyperCardend ifset highlight of bg button "End" to trueput line 2 of fld "JobInfo" into starterput starter into startCheckconvert startCheck to secsconvert starter to secsif daysEnd is empty then ask "What time did you finish the job?" with the short timeelse put daysEnd into itif it is "Open" thenbeepanswer quote & "Open" & quote && "is an invalid end time, please re-enter."set highlight of bg btn "End" to falseexit to HyperCardend ifif it is empty thenset highlight of bg button "End" to falseexit to HyperCardelseput it into convertEndend ifconvert it to secsif the result is not empty thenbeepanswer "Not a valid time, please re-enter."set highlight of bg btn "End" to falseexit to HyperCardend ifput convertEnd into enderput ender into endCheckconvert endCheck to secsif startCheck > endCheck thenanswer "Oops, your end time is before your start time!"put "Open" into line 3 of fld "jobInfo"set highlight of bg button "End" to falseexit to HyperCardend ifconvert ender to short timeput ender into line 3 of fld "jobInfo"taskTagput ender into fld "PrevEndTime"keyBillitend keyEnderon keyBillitlock screenget showList(fld id 61,"Enter Billing Category‚Ķ",false,true,"Enter,Cancel",1)if line 1 of it is "Cancel" thenset highlight of bg btn id 27 to falseset highlight of bg btn "End" to falsehide fld "TasksField"hide fld "CodeButton"put "Open" into line 3 of fld "jobInfo"set the highlight of bg btn id 46 to falseput empty into line 4 of fld "JobInfo"exit to HyperCardend ifput line (line 2 of it) of fld id 61 into whichCatset highlight of bg btn id 27 to trueset highlight of bg btn "End" to falseput empty into fld "TasksField"put word 1 of whichCat into line 4 of fld "JobInfo"keyCommentend keyBilliton keyComment passedCommentglobal commentsOnif the highlight of bg btn id 27 and commentsOn is true thenset the highlight of bg btn id 46 to trueput "(C0) No comment" & return & fld "Comments" into commentListget showList(commentList,"Enter comment",false,true,"Enter,Cancel,New",1)put line (line 2 of it) of commentList into pickedCommentif pickedComment is empty or line 1 of it is "Cancel" thenset highlight of bg btn id 27 to falseset highlight of bg btn "End" to falsehide fld "TasksField"put "Open" into line 3 of fld "jobInfo"set the highlight of bg btn id 46 to falseput empty into line 4 of fld "JobInfo"exit keyCommentend ifif line 1 of it is "New" thenask "Enter comment for " & line 1 of fld "JobInfo" & "‚Ķ"if the result is cancel then exit to HyperCardput (char 3 to (the number of chars of word 1 of the last line of fld "Comments" - 1) of the last line of fld "Comments") + 1 into nextComrepeat with x = 1 to (the number of chars of it)if char x of it is "," then put "/" into char x of itend repeatput "(C" & nextCom & ")" && it & return  after fld "Comments"put word 1 of the last line of fld "Comments" into holdCommentelseput word 1 of pickedComment into holdCommentend ifend ifhide fld "TasksField"hide fld "CodeButton"set highlight of bg button id 27 to falseset the highlight of bg btn id 46 to falseset cursor to watchunlock screenupdateDayList holdCommentend keyCommenton keyNewJobglobal codeCheckput "true" into codeCheckset highlight of bg button "Job" to trueif line 2 of fld "JobInfo" is empty and line 1 of fld "JobInfo" is not empty thenput fld id 60 into gotOneif gotOne is empty thenput 2 into gotOneend ifelseif line 3 of fld "jobInfo" is "Open" thenanswer "You already have a job started. You'll have to stop it before you can start another one."set highlight of bg button "Job" to falseexit to HyperCardend ifend ifput empty into fld "JobInfo"clientCodeif codeCheck is "false" thenset the highLight of bg button "Job" to falseexit to HyperCardend ifput line 1 of fld "JobInfo" into pickedJobput character 1 to 34 of pickedJob into line 1 of fld "JobInfo"put empty into line 2 to 4 of fld "JobInfo"set highlight of bg button "Job" to falseend keyNewJobon clientCodeglobal codeCheck,jobNumerals,clientNumeralsif jobNumerals is empty or clientNumerals is empty thenlock screenpush cardgo to stack "TimeBook" && (word 2 of the short name of this stack)pop cardunlock screenend ifif jobNumerals ‚↠"0" thenask "Enter" && jobNumerals && "digit job number please."if the result is not empty thenput "false" into codeCheckput empty into itexit clientCodeend ifput it into jobNumberif the length of jobNumber is not jobNumerals thenbeepanswer "INVALID NUMBER: Job numbers must be" && jobNumerals && "numbers long." with "Cancel" or "Re-Enter"if it is "Re-Enter" thenclientCodeelseput "false" into codeCheckexit clientCodeend ifelseput it into line 1 of fld "JobInfo"end ifend ifclientCodeNumberend clientCodeon clientCodeNumberglobal codeCheck,clientNumerals,jobNumeralsif clientNumerals is not "0" thenask "Enter" && clientNumerals && "digit client code please. Leave empty and click ‚ÄòOK‚Äô for pop-up client list."if the result is "Cancel" thenput "false" into codeCheckput empty into fld "JobInfo"exit clientCodeNumberend ifif it is empty thenput "Click Here for Client Code." into fld "ClientField"show fld "ClientField"put "Code" into fld "CodeButton"show fld "CodeButton"put "false" into codeCheckexit clientCodeNumberend ifif the length of it is not clientNumerals thenbeepanswer "INVALID CODE, please re-enter."put empty into fld "JobInfo"exit clientCodeNumberend ifput "-" & it after line 1 of fld jobInfoif fld id 39 is not empty thenif clientNumerals = 0 then put 0 into addSpaceelse put 1 into addSpaceput character 1 to (clientNumerals + jobNumerals + addSpace) of line 1 of fld "JobInfo" into numbTempif jobNumerals is "0" then put line 1 of fld "JobInfo" into numbTempfind numbTemp in fld id 39if the result is empty thenanswer "You already have a job with that number in your job list."put empty into line 1 of fld "JobInfo"put the value of the foundLine into line 1 of fld "JobInfo"set the highLight of bg button "Job" to falseexit clientCodeNumberend ifend ifend ifaddJobNameend clientCodeNumberon addJobNameglobal jobNumeralsask "Please enter the job name"put it into jobNameif it is empty thenbeepanswer "You must enter a job name." with "Cancel" or "Enter"if it is "Enter" thenaddJobNameelseput empty into fld "JobInfo"exit addJobNameend ifend ifget the number of characters of jobNameput it into jobCharsrepeat with x = 1 to jobCharsif character x of jobName is "," thenput "-" into character x of jobNameend ifend repeatif jobNumerals = "0" then put char 1 to 28 of jobName & return after line 1 of fld "JobInfo"else put " " & jobName & return after line 1 of fld "JobInfo"put line 1 of fld "JobInfo" & return after fld id 39sort fld id 39end addJobNameon taskTagglobal taskHold,clientNumerals,jobNumeralsget line 1 of fld "JobInfo"put it into findBillingset the name of bg btn id 27 to "Task"show bg button id 27put "Click Here for Billing List." into fld "TasksField"show fld "TasksField"end taskTagon updateDayList whatCommentglobal versionNumber,clientNumerals,jobNumerals,daysEnd,autoUpdate,commentsOn,thisStackName,saveLockOutput fld "Comments" into takeCommentsset cantAbort of this stack to trueput "Now saving. Please stand by." into cd fld "hideFld"show cd fld "hideFld"lock screenlock messagesput fld id 39 into updateJobListput line 1 of fld "JobInfo" into jobLineif clientNumerals = 0 then put 0 into addSpaceelse put 1 into addSpaceput (clientNumerals + jobNumerals + addSpace) into totalCharsif jobNumerals is "0" then put the number of chars of jobLine into totalCharsput "Job" && character 1 to totalChars of jobLine into cardNoput line 2 of fld "JobInfo" into startLineput line 3 of fld "JobInfo" into endLineput line 4 of fld "JobInfo" into taskHoldput fld "dateHolder" into thisCdconvert thisCd to short datego to stack "TimeBook" && versionNumberset cantAbort of this stack to truego cd "Time Book" && thisCdif commentsOn is true thenput startLine & "," & endLine & "," & jobLine & "," & taskHold & "," & whatComment & return after fld "recorderBookList"elseput startLine & "," & endLine & "," & jobLine & "," & taskHold & return after fld "recorderBookList"end ifput sortRight(fld "recorderBookList") into fld "recorderBookList"put takeComments into fld "LogicComments"updateFldsif autoUpdate is true thenshortCalculateTimeSheetshortSaveend ifgoPunchhide cd fld "hideFld"if thisStackName is not empty then set the cantAbort of stack thisStackName to falseset cantAbort of stack ("TimeBook" && versionNumber) to falseset cantAbort of this stack to falseput empty into daysEndput true into saveLockOutend updateDayList-- functions replaced by compiled scripts-- function finalCompare whatCompare,whatLines,whatClient,whatJob-- merges and purges the week's jobsrepeat with y = 1 to whatLinesput 1 into flag1if line y of whatCompare is not empty thenput (line y of whatCompare) into compareelsenext repeatend ifif whatLines > 1 thenrepeat with z = (y + 1) to whatLinesif line y of whatCompare is not empty thenput (line z of whatCompare) into compare3elsenext repeatend ifput word 1 of item 2 of compare3 & item 3 of compare3 & item 4 of compare3 into firstComput word 1 of item 2 of compare & item 3 of compare & item 4 of compare into secondComif firstCom = secondCom thenadd (item 1 of line z of whatCompare) to item 1 of comparerepeat with w = 4 to 11add (item w of line z of whatCompare) to item w of compareend repeatput compare into compare2delete line z of whatCompareput 2 into flag1end ifend repeatend ifif flag1 is not 2 thenput compare & return after readyToPlaceelseput compare2 & return after readyToPlaceend ifend repeatreturn readyToPlaceend finalCompare-- function orgForFillOut iDoneit,whatLines,whatCountrepeat with i = 2 to whatCountrepeat with j = 1 to whatLinesput item i of line j of iDoneit & return after orgChartend repeatend repeatreturn orgChartend orgForFillOut-- function whataDay whichDayif whichDay is 1 thenreturn "Mon"exit whataDayend ifif whichDay is 2 thenreturn "Tue"exit whataDayend ifif whichDay is 3 thenreturn "Wed"exit whataDayend ifif whichDay is 4 thenreturn "Thu"exit whataDayend ifif whichDay is 5 thenreturn "Fri"exit whataDayend ifif whichDay is 6 thenreturn "Sat"exit whataDayend ifif whichDay is 7 thenreturn "Sun"exit whataDayend ifend whataDay-- function dayToNum whatDayif whatDay is "Mon" thenreturn 1exit dayToNumend ifif whatDay is "Tue" thenreturn 2exit dayToNumend ifif whatDay is "Wed" thenreturn 3exit dayToNumend ifif whatDay is "Thu" thenreturn 4exit dayToNumend ifif whatDay is "Fri" thenreturn 5exit dayToNumend ifif whatDay is "Sat" thenreturn 6exit dayToNumend ifif whatDay is "Sun" thenreturn 7end ifend dayToNum-- function makeQtrHrs2 method,sheetMinsglobal roundUpput 0 into sheetHoursput (sheetMins/roundUp) into fracHoursif fracHours ‚↠trunc(fracHours) thenput (trunc(fracHours) + 1) * roundUp into totalFracelseput fracHours * roundUp into totalFracend ifrepeatif totalFrac >= 60 thenadd 1 to sheetHourssubtract 60 from totalFracif totalFrac < 60 thenexit repeatend ifelseexit repeatend ifend repeatif the number of chars of totalFrac = 1 then put "0" before totalFracif method = 0 thenput sheetHours & ":" & totalFrac into roundedTime2return roundedTime2elseset numberFormat to "0.00"put sheetHours + (totalFrac/60) into roundedTimereturn roundedTimeend ifend makeQtrHrs2-- function compareExt totalTimeHolder,lineNumber -- replaced by CompileIt XFCNrepeat with y = 1 to lineNumberput 1 into flag1if line y of totalTimeHolder is not empty thenput (line y of totalTimeHolder) into compareelsenext repeatend ifif lineNumber > 1 thenrepeat with z = (y + 1) to lineNumberif line y of totalTimeHolder is not empty thenput (line z of totalTimeHolder) into compare3elsenext repeatend ifif item 2 to 4 of compare3 is item 2 to 4 of compare thenadd (item 1 of line z of totalTimeHolder) to item 1 of compareput compare into compare2put empty into line z of totalTimeHolderput 2 into flag1end ifend repeatend ifif flag1 is not 2 thenput compare & return after totalCompareTimeHolderelseput compare2 & return after totalCompareTimeHolderend ifend repeatif character 1 of totalCompareTimeHolder is not an integer then put empty into totalCompareTimeHolderreturn totalCompareTimeHolderend compareExt-- function bubbleSort stripSortglobal jobNumeralsput the number of lines of stripSort into totalLinesput 1 into wput "notAgain" into endLooprepeat until the mouseClickset cursor to watchif char 1 to jobNumerals of item 2 of line w of stripSort > char 1 to jobNumerals of item 2 of line w + 1 of stripSort thenput line w of stripSort & return after stripSortdelete line w of stripSortput "again" into endLoopend ifif w = totalLines - 1 and endLoop is "notAgain" then exit repeatif w = totalLines - 1 thenput "notAgain" into endLoopput 1 into welseadd 1 to wend ifend repeatreturn stripSortend bubbleSort</script>
  865. </background>
  866.